﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using HotelManager.Model;
using HotelManager.Core;

namespace HotelManager.DataAccess
{
    class VatdungAccess
    {
        dbConnection db = new dbConnection();
        public DataTable laytoanboDD()
        {
            return db.executeSelectProcedureQueryNonParameter("selectDoDungTrongPhong");

        }

        // Tìm kiếm theo mã đồ dùng
        public DataView timkiemMaDD(string maDD)
        {
            DataView dataView = laytoanboDD().DefaultView;
            dataView.RowFilter = string.Format("MaDD like '%{0}%'", maDD);
            return dataView;
        }

        // tìm kiếm theo tên đồ dùng
        public DataView timkiemTenDD(string tenDD)
        {
            DataView dataView = laytoanboDD().DefaultView;
            dataView.RowFilter = string.Format("TenDD like '%{0}%'", tenDD);
            return dataView;
        }

        // tìm kiếm đồ dùng theo mã và trả về 1 bảng
        public DataTable timDDtheoma(string maDd)
        {
            SqlParameter[] listParam = new SqlParameter[1];
            SqlParameter ma = new SqlParameter("@MaDD", SqlDbType.Char, 10);
            ma.Value = maDd;
            listParam[0] = ma;
            return db.executeSelectProcedureQuery("timkiemDD", listParam);
        }

        public int suaDD(VatDungPhong dd)
        {
            if ((timDDtheoma(dd.MaDD1) == null))
                return 0;
            else
            {
                SqlParameter[] listParam = new SqlParameter[5];
                SqlParameter madd = new SqlParameter("@MaDD", SqlDbType.Char, 10);
                madd.Value = dd.MaDD1;
                listParam[0] = madd;
                listParam[1] = new SqlParameter("@MaPhong", dd.MaPhong1);
                listParam[2] = new SqlParameter("@TenDD", dd.TenDD1);
                listParam[3] = new SqlParameter("@SoLuong", dd.SoLuong1);
                listParam[4] = new SqlParameter("@GhiChu", dd.GhiChu1);
                db.executeUpdateProcedureQuery("updateDoDung", listParam);
                return 1;
            }
        }
        public int themDD(VatDungPhong dd)
        {
            if (timDDtheoma(dd.MaDD1).Rows.Count > 0)
                return 0;
            else
            {
                SqlParameter[] listParam = new SqlParameter[5];
                SqlParameter madd = new SqlParameter("@MaDD", SqlDbType.Char, 10);
                madd.Value = dd.MaDD1;
                listParam[0] = madd;
                listParam[1] = new SqlParameter("@MaPhong", dd.MaPhong1);
                listParam[2] = new SqlParameter("@TenDD", dd.TenDD1);
                listParam[3] = new SqlParameter("@SoLuong", dd.SoLuong1);
                listParam[4] = new SqlParameter("@GhiChu", dd.GhiChu1);
                db.executeInsertProcedureQuery("insertDoDung", listParam);
                return 1;
            }
        }

        public int xoaDD(VatDungPhong dd)
        {
            if ((timDDtheoma(dd.MaDD1) == null))
                return 0;
            else
            {
                SqlParameter[] listParam = new SqlParameter[1];
                listParam[0] = new SqlParameter("@MaDD", dd.MaDD1);
                db.executeDeleteProcedureQuery("deleteDoDung", listParam);
                return 1;
            }
        }
    
    }
}
